﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>FarMacroCall</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>
<body>

<h1>FarMacroCall</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">структуры</a> |
<a href="../macroapi/index.html">Macro API</a>
</div>

<div class=shortdescr>
Структура <code>FarMacroCall</code> должна использоваться плагином при вызове функции <a href="../exported_functions/openw.html">OpenW</a>
с значением аргумента <a href="openinfo.html">OpenFrom</a> равному <code>OPEN_FROMMACRO</code>, если плагин хочет вернуть макросу более одной
величины (или одну величину не-булевого типа). В этом случае плагин должен заполнить поля статического или аллоцированного экземпляра данной структуры
и вернуть Far Manager'у указатель на него.
</div>

<pre class=syntax>
struct FarMacroCall
{
  size_t StructSize;
  size_t Count;
  struct FarMacroValue *Values;
  void (WINAPI * <b>Callback</b>)(void *CallbackData, struct FarMacroValue *Values, size_t Count);
  void *CallbackData;
};
</pre>

<h3>Элементы</h3>
<div class=descr>
  <div class=dfn>StructSize</div>
    <div class=dfndescr>Это поле должно содержать размер структуры <code>FarMacroCall</code>. Перед использованием структуры плагин должен заполнить поле.</div>
  <div class=dfn>Count</div>
    <div class=dfndescr>Количество элементов массива <code>Values</code></div>
  <div class=dfn>Values</div>
    <div class=dfndescr>Указатель на массив структур типа <a href="farmacrovalue.html">FarMacroValue</a>. Этот массив также должен быть статическим или аллоцированным.</div>
  <div class=dfn>Callback</div>
    <div class=dfndescr>Указатель на функцию плагина, которая будет вызвана после того, как Far Manager скопирует переданные данные.
    В этой функции данные можно освободить. Если освобождать данные не требуется, установите <code>Callback = NULL</code>.</div>
  <div class=dfn>CallbackData</div>
    <div class=dfndescr>Указатель на произвольные данные плагина.</div>
</div>

<h3>Замечания</h3>
<div class=descr>
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="index.html">структуры</a>
</div>

</body>
</html>
